home *** CD-ROM | disk | FTP | other *** search
/ Winzipper / Winzipper_ISO.iso / nt4.0 server / DRVLIB.NIC / E100B / OEMSETUP.INF < prev    next >
INI File  |  1996-07-31  |  36KB  |  1,150 lines

  1. ;***********************************************************************
  2. ; Windows NT OEMSETUP.INF for
  3. ;
  4. ;       Intel 82557-based 10/100 Ethernet PCI Adapter
  5. ;       Intel EtherExpress PRO/100B PCI Adapter
  6. ;       Intel EtherExpress PRO/10+ PCI Adapter
  7. ;
  8. ; Copyright⌐ 1994-1996 Intel Corporation.  All rights reserved.
  9. ;***********************************************************************
  10. ;
  11. ;       PROSet Version 1.4x
  12. ;       Driver Version 2.x
  13. ;       INF revision 24
  14. ;
  15. ;       ------------------------------------------------------
  16. ;       Modify Log:
  17. ;       ------------------------------------------------------
  18. ;       6/28/96  AH  INF revision 24
  19. ;                    Added code for auto-detect multiple board installs
  20. ;                    In Express installs mode, PROSet is run in 
  21. ;                    batch mode (MS suggests).
  22. ;       6/24/96  AH  INF revision 23
  23. ;                    Added copying of 557SET.HLP file.
  24. ;                    Removed copying of PROSET.CPL file.
  25. ;                    For now, branded adapter uses the 82557 name.
  26. ;       6/18/96  AH  INF works with NT 4.x, 3.51 and 3.50
  27. ;                    For manual and disk installs, allows installing
  28. ;                      and support of branded adapters.
  29. ;                    Added unattended install support
  30. ;                    Bug Fixes
  31. ;
  32. ;       6/12/96  AH  INF revision 22
  33. ;                    Added individual sections for PRO/100B 
  34. ;                    Added individual sections for PRO/10+ PCI
  35. ;                    Added new registry parameters
  36. ;                    Bug Fixes
  37. ;                    Fixed Update button
  38. ;                    Updated adapter names
  39. ;
  40. ;       INF revision 20
  41. ;       Modified by Microsoft for NT 4.0
  42. ;
  43. ;***********************************************************************
  44.  
  45. [Identification]
  46.     OptionType = NetAdapter
  47.  
  48. [PlatformsSupported]
  49.     ISA
  50.     EISA
  51.     MCA
  52.     PCI
  53.    "Jazz-Internal Bus"
  54.  
  55. [LanguagesSupported]
  56.     ENG
  57.  
  58. [Options]
  59.     E100BPCI
  60.     E100BEXP
  61.     E10PPCI
  62.  
  63. [OptionsTextENG]
  64.     E100BPCI  = "Intel 82557-based 10/100 Ethernet PCI Adapter"
  65.     E100BEXP  = "Intel EtherExpress PRO/100B PCI Adapter"
  66.     E10PPCI   = "Intel EtherExpress PRO/10+ PCI Adapter"
  67.  
  68. [Files-Inf]
  69. 1, oemsetup.inf, SIZE=50000, RENAME=$(!UG_Filename)
  70.  
  71.  
  72. [Files-E100BPCI]
  73. 1, E100B.SY_, SIZE=50000, RENAME=E100B.SYS
  74.  
  75. [Files-E100BEXP]
  76. 1, E100B.SY_, SIZE=50000, RENAME=E100B.SYS
  77.  
  78. [Files-E10PPCI]
  79. 1, E100B.SY_, SIZE=50000, RENAME=E100B.SYS
  80.  
  81. [Files-PROSet]
  82. 1, PROSET.EX_, SIZE=50000, RENAME=PROSET.EXE
  83. 1, EP100DG.DL_, SIZE=50000, RENAME=EP100DG.DLL
  84. 1, PROKDD.DL_, SIZE=50000, RENAME=PROKDD.DLL
  85. 1, MFC30.DL_, SIZE=50000, RENAME=MFC30.DLL
  86. 1, MSVCRT20.DL_, SIZE=50000, RENAME=MSVCRT20.DLL
  87. 1, E100SET.HL_, SIZE=50000, RENAME=E100SET.HLP
  88. 1, 557SET.HL_, SIZE=50000, RENAME=557SET.HLP
  89. 1, CTL3D32.DL_, SIZE=50000, RENAME=CTL3D32.DLL
  90. 1, PROPCI.DL_, SIZE=50000, RENAME=PROPCI.DLL
  91. 1, EPRO100.DL_, SIZE=50000, RENAME=EPRO100.DLL
  92.  
  93. [Files-PROSet-Drivers]
  94. 1, SPDO3DG.SY_, SIZE=50000, RENAME=SPDO3DG.SYS
  95. 1, EP100DG.SY_, SIZE=50000, RENAME=EP100DG.SYS
  96. 1, PROKDD.SY_, SIZE=50000, RENAME=PROKDD.SYS
  97.  
  98. [FileConstants]
  99. UtilityInf      = "UTILITY.INF"
  100. ParamInf        = "NCPARAM.INF"
  101. subroutineinf   = "SUBROUTN.INF"
  102. SoftwareType    = "driver"
  103. Exit_Code       = 0
  104.  
  105. NetEventDLL     = "%SystemRoot%\System32\netevent.dll"
  106. IoLogMsgDLL     = "%SystemRoot%\System32\IoLogMsg.dll"
  107.  
  108. Manufacturer    =  "Intel"
  109. ProductMajorVersion     = "2"
  110. ProductMinorVersion     = "0"
  111. ProductVersion  = $(ProductMajorVersion)"."$(ProductMinorVersion)
  112.  
  113. ProductSoftwareName     = "E100B"
  114. ProductSoftwareTitle    = "Intel 82557-based PRO Adapter Driver"
  115. ProductSoftwareImagePath = "%SystemRoot%\System32\drivers\e100b.sys"
  116. NetRuleSoftwareType     = "E100BSys ndisDriver E100BDriver"
  117. NetRuleSoftwareUse      = $(SoftwareType)
  118. NetRuleSoftwareBindForm = """E100BSys"" yes no container"
  119. NetRuleSoftwareClass    = {"E100BDriver basic"}
  120. NetRuleSoftwareBindable = {"E100BDriver E100BAdapter non exclusive 100"}
  121.  
  122. Configure = "EPRO100_Configure"
  123. Detect = "EPRO100_Detect"
  124. Diagnose = "EPRO100_Diagnose"
  125. DLL = "EPRO100.DLL"
  126. RegistryKey = "EPRO100_GetRegistryKey"
  127. Summary = "EPRO100_Resource_Summary"
  128. AdapterDescription = "EPRO100_GetAdapterDescription"
  129. InstallAnyway = "EPRO100_InstallAnyway"
  130. DeviceExist = "EPRO100_DeviceExist"
  131. Adapter = "Intel 82557-based PCI Ethernet"
  132. Help = "E100SET.HLP"
  133.  
  134. BusNumber = "0,7,BusNumber,0,2,0,0,16,1"
  135. BusType = "0,7,BusType,0,2,5,2,5,1"
  136. BusTypeLocal = "0,7,BusTypeLocal,0,2,5,2,5,1"
  137. Eid = "0,7,Eid,0,2,0,0,4294967295,1"
  138. Fifo = "0,3,Fifo Depth,0,2,12,0,15,1"
  139. ForceDpx = "1,4,Duplex Mode,0,1,Auto,Auto,Half,Full"
  140. MediaType = "0,7,MediaType,0,2,1,1,1,1"
  141. MsPciScan = "0,4,MsPciScan,0,2,1,0,1,1"
  142. NumCoalesce = "1,7,Coalesce Buffers,0,2,8,1,32,1"
  143. NumRfd = "1,7,Receive Buffers,0,2,16,1,128,1"
  144. NumTbd = "0,3,Transmit Buffer Descriptors,0,2,64,1,65535,1"
  145. NumTbdPerTcb = "0,4,Transmit Buffers per Frame,0,2,8,1,16,1"
  146. NumTcb = "1,7,Transmit Control Blocks,0,2,16,1,80,1"
  147. Off = "1,3,Off Timer,0,2,2,1,65535,1"
  148. On = "1,3,On Timer,0,2,32768,1,65535,1"
  149. RxDmaCount = "0,4,RxDmaCount,0,2,0,0,63,1"
  150. RxFifo = "0,4,Receive Fifo Depth,0,2,8,0,15,1"
  151. Slot = "0,3,Slot,0,2,0,0,64,1"
  152. Speed = "1,7,Network Speed,0,4,Auto,Auto,0,10Mbps,10,100Mbps,100"
  153. Threshold = "0,7,Transmit Threshold,0,2,16,0,200,1"
  154. TxDmaCount = "0,4,TxDmaCount,0,2,0,0,63,1"
  155. TxFifo = "0,4,Transmit Fifo Depth,0,2,8,0,15,1"
  156.  
  157. Ucode = "0,4,Ucode,0,2,0,0,1,1"
  158. UnderrunRetry = "0,4,UnderrunRetry,0,2,1,0,3,1"
  159. PerfOptims = "0,4,PerfOptims,0,2,0,0,65535,1"
  160.  
  161. UcodeSW = "0,7,UcodeSW,0,2,1,0,1,1"
  162. Adaptive_IFS = "0,7,Adaptive_IFS,0,2,1,0,255,1"
  163. Txmitwait = "0,7,Txmitwait,0,2,1,0,255,1"
  164.  
  165. PROSetKeyName = $(!NTN_ServiceBase)"\PROSet"
  166. PROSetAdapterName = "EPRO100"
  167. PROSetParameters = "Parameters"
  168.  
  169. ProductHardwareName     = "E100B"
  170. ProductHardwareTitle    = "Intel 82557-based 10/100 Ethernet PCI Adapter"
  171. NetRuleHardwareType     = "E100B E100BAdapter"
  172. NetRuleHardwareBindForm = " yes yes container"
  173. NetRuleHardwareClass    = {"E100BAdapter basic"}
  174.  
  175. ProductHardwareE100BPCITitle          = "Intel 82557-based 10/100 Ethernet PCI Adapter"
  176. ProductHardwareE100BPCIDescription    = "Intel 82557-based 10/100 Ethernet PCI Adapter or compatible"
  177.  
  178. ProductHardwareE100BEXPTitle          = "Intel 82557-based 10/100 Ethernet PCI Adapter"
  179. ProductHardwareE100BEXPDescription    = "Intel 82557-based 10/100 Ethernet PCI Adapter or compatible"
  180.  
  181. ProductHardwareE10PPCITitle           = "Intel 82557-based 10/100 Ethernet PCI Adapter"
  182. ProductHardwareE10PPCIDescription     = "Intel 82557-based 10/100 Ethernet PCI Adapter or compatible"
  183.  
  184. EE16_1BYTE      = 139
  185. EE16_2BYTE      = 98
  186. NETCARD_ID      = 25227
  187.  
  188. ProductKeyName  = $(!NTN_SoftwareBase)"\"$(Manufacturer)"\"$(ProductSoftwareName)"\CurrentVersion"
  189. ParamKeyName    = $(!NTN_ServiceBase)"\"$(ProductHardwareName)"\Parameters"
  190.  
  191.  
  192. [ProductType]
  193. STF_PRODUCT  = Winnt
  194. STF_PLATFORM = I386
  195.  
  196. [GeneralConstants]
  197. from      = ""
  198. to        = ""
  199.  
  200. ExitCodeOk     = 0
  201. ExitCodeCancel = 1
  202. ExitCodeFatal  = 2
  203.  
  204. KeyNull         = ""
  205. MAXIMUM_ALLOWED   = 33554432
  206. RegistryErrorIndex = NO_ERROR
  207. KeyProduct      = ""
  208. KeyParameters   = ""
  209.  
  210. TRUE            = 1
  211. FALSE           = 0
  212. NoTitle         = 0
  213.  
  214. ExitState   = "Active"
  215. OldVersionExisted = $(FALSE)
  216.  
  217. DriverPath      = $(!STF_NTPATH)\drivers
  218.  
  219. [FileConstantsENG]
  220. ProCaption   = "Windows NT Setup"
  221. ProCancel    = "Cancel"
  222. ProCancelMsg = "Windows NT Networking is not correctly installed.  "+
  223.            "Are you sure you want to cancel copying files?"
  224.  
  225. ProCancelCap = "Network Setup Message"
  226. ProText1     = "Copying:"
  227. ProText2     = "To:"
  228.  
  229.  
  230. FunctionTitle = "Intel 82557-based PRO Adapter Setup"
  231. ProductSoftwareDescription = "Intel 82557-based PRO Adapter Driver"
  232. ProductHardwareDescription = "Intel 82557-based 10/100 Ethernet PCI Adapter"
  233.  
  234.  
  235. [date]
  236.     Now = {} ? $(!LIBHANDLE) GetSystemDate
  237.  
  238. [Source Media Descriptions]
  239.     1  = "Intel 82557-based EtherExpress Driver Disk"
  240.  
  241. [Signature]
  242.     FileType = MICROSOFT_DRVLIB_FILE
  243. [GetSignature]
  244.     read-syms Signature
  245.     return $(FileType)
  246.  
  247. [Identify]
  248.     read-syms Identification
  249.  
  250. ;    set !G:DebugOutputControl = 1
  251.  
  252.     set Status     = STATUS_SUCCESSFUL
  253.     set Identifier = $(OptionType)
  254.     set Media      = #("Source Media Descriptions", 1, 1)
  255.  
  256.     Return $(Status) $(Identifier) $(Media)
  257.  
  258. [ReturnOptions]
  259.     set Status        = STATUS_FAILED
  260.     set OptionList     = {}
  261.     set OptionTextList = {}
  262.  
  263.     set LanguageList = ^(LanguagesSupported, 1)
  264.     Ifcontains(i) $($0) in $(LanguageList)
  265.     ifstr(i) $($1) == ""
  266.         goto returnoptions
  267.     endif
  268.  
  269.     set PlatformList = ^(PlatformsSupported, 1)
  270.     Ifcontains(i) $($1) in $(PlatformList)
  271.         goto returnoptions
  272.     else
  273.         set Status = STATUS_NOTSUPPORTED
  274.         goto finish_ReturnOptions
  275.     endif
  276.     else
  277.     set Status = STATUS_NOLANGUAGE
  278.     goto finish_ReturnOptions
  279.     endif
  280.  
  281. returnoptions = +
  282.     set OptionList     = ^(Options, 1)
  283.     set OptionTextList = ^(OptionsText$($0), 1)
  284.     set Status         = STATUS_SUCCESSFUL
  285.  
  286. finish_ReturnOptions = +
  287.     Return $(Status) $(OptionList) $(OptionTextList)
  288.  
  289. [InstallOption]
  290. ;    set !G:DebugOutputControl = 1
  291.     set Status   = STATUS_FAILED
  292.     set Option   = $($1)
  293.     set SrcDir   = $($2)
  294.     set AddCopy  = $($3)
  295.     set DoCopy   = $($4)
  296.     set DoConfig = $($5)
  297.  
  298.     set LanguageList = ^(LanguagesSupported, 1)
  299.     Ifcontains(i) $($0) NOT-IN $(LanguageList)
  300.     Return STATUS_NOLANGUAGE
  301.     endif
  302.  
  303.     set-subst LF = "\n"
  304.  
  305.     read-syms GeneralConstants
  306.     read-syms FileConstants
  307.  
  308.     ;read-syms DialogConstants$(!STF_LANGUAGE)
  309.     ifstr(i) $(!NTN_Origination) == "NCPA"
  310.     set Continue = "OK"
  311.     endif
  312.     read-syms FileConstants$(!STF_LANGUAGE)
  313.  
  314.     detect date
  315.  
  316.     set-title  $(FunctionTitle)
  317.  
  318.     set CurrentVersionValue = ""
  319.     OpenRegKey $(!REG_H_LOCAL) "" "SOFTWARE\Microsoft\Windows NT\CurrentVersion" $(!REG_KEY_READ) KeyWinNT
  320.     ifstr(i) $(KeyWinNT) != ""
  321.         GetRegValue $(KeyWinNT) "CurrentVersion" CurrentVersionValue
  322.         CloseRegKey $(KeyWinNT)
  323.     endif
  324.  
  325.     set m_WinNTVersion = *($(CurrentVersionValue),4)
  326.  
  327.     set to   = Begin
  328.     set from = Begin
  329.  
  330.     ifcontains(i) $(m_WinNTVersion) in {"3.50", "3.51"}
  331.         ; WinNT 3.5x
  332.         Shell $(UtilityInf), GetBusTypeNum
  333.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  334.         goto ShellCodeError
  335.         endif
  336.         Set PlatformList = ^(PlatformsSupported, 1)
  337.         Set MachineType = *($(PlatformList), $($R1))
  338.     else
  339.         ; WinNT 4.x
  340.         Set MachineType = $(!STF_BUSTYPE)
  341.     endif
  342.  
  343.     set CommonStatus = STATUS_SUCCESSFUL
  344.  
  345.     EndWait
  346.  
  347.  
  348. Begin = +
  349.     Set ActivateDetection = FALSE
  350.  
  351.     Ifstr(i) $(!NTN_InstallMode) == deinstall
  352.     set StartLabel = removeadapter
  353.     else-Ifstr(i) $(!NTN_InstallMode) == Update
  354.     set StartLabel = UpgradeSoftware
  355.     else-Ifstr(i) $(!NTN_InstallMode) == bind
  356.     set StartLabel = bindingadapter
  357.     else-Ifstr(i) $(!NTN_InstallMode) == configure
  358.     set ActivateDetection = TRUE
  359.     set StartLabel = configureadapter
  360.  
  361.     ifstr(i) $(MachineType) == "MCA"
  362.         Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  363.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  364.         else
  365.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_HARDWARE
  366.         endif
  367.         set Error = $($R0)
  368.         set from = end
  369.         set to = end
  370.         goto nonfatalinfo
  371.     endif
  372.  
  373.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  374.         Shell $(UtilityInf),RegistryErrorString,CANNOT_CONFIGURE_SOFTWARE
  375.         ifint $($ShellCode) != $(!SHELL_CODE_OK)
  376.         goto ShellCodeError
  377.         endif
  378.         set Error = $($R0)
  379.         set from = end
  380.         set to = end
  381.         goto nonfatalinfo
  382.     endif
  383.     else
  384.     set ActivateDetection = TRUE
  385.     set StartLabel = installadapter
  386.     set OEM_ABANDON_OPTIONS = {}
  387.     set OEM_ABANDON_SOFTWARE = FALSE
  388.     set OEM_ABANDON_ON = TRUE
  389.     endif
  390.  
  391.     Set DetectedCard = FALSE
  392.  
  393.     Ifstr(i) $(ActivateDetection) != TRUE
  394.     Goto $(StartLabel)
  395.     Endif
  396.  
  397.     ifstr(i) $(MachineType) == "MCA"
  398.     goto CheckForMCA
  399.     endif
  400.  
  401.     set IRQValue = *($(IRQList), 2)
  402.     set IOAddrValue = *($(IOAddrList), 1)
  403.     set IOReadyValue = *($(IOReadyList), 2)
  404.     set TransceiverValue = *($(TransceiverList), 4)
  405.  
  406.     Ifstr(i) $(!STF_NCDETECT) == YES
  407.     Ifstr(i) $(!STF_NCOPTION) == $(Option)
  408.        Set DetectedCard = TRUE
  409.     Endif
  410.     Endif
  411.  
  412.     Shell "" DebugConfiguration "After parameter querying"
  413.  
  414.     Set from = $(fatal)
  415.     Set to = $(fatal)
  416.     Goto $(StartLabel)
  417.  
  418. installadapter = +
  419.     OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  420.  
  421.     Ifstr $(KeyProduct) != $(KeyNull)
  422.     CloseRegKey $(KeyProduct)
  423.  
  424.     ifstr(i) !(NTN_RegBase) == $(ProductKeyName)
  425.        Shell $(UtilityInf), VerExistedDlg, $(ProductSoftwareTitle),+
  426.            $(ProductVersion)
  427.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  428.            goto ShellCodeError
  429.        endif
  430.  
  431.        goto end
  432.     else
  433.        Shell $(UtilityInf), CardExistedDlg
  434.  
  435.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  436.            goto ShellCodeError
  437.        endif
  438.  
  439.        ifstr(i) $($R1) != "OK"
  440.            goto end
  441.        endif
  442.        set OldVersionExisted = $(TRUE)
  443.     endif
  444.     endif
  445.  
  446.     ifcontains(i) $(m_WinNTVersion) in {"3.50", "3.51"}
  447.         ; WinNT 3.5x
  448.         Ifstr(i) $(DetectedCard) != TRUE
  449.         Goto adaptersetup
  450.         Endif
  451.     else
  452.         ; WinNT 4.x
  453.         Goto adaptersetup
  454.     end
  455.  
  456. CheckForMCA = +    
  457.     StartWait
  458.     Shell $(UtilityInf), MCAFindBus, $(EE16_1BYTE), $(EE16_2BYTE)
  459.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  460.     goto CheckForISA
  461.     endif
  462.     ifstr $($R0) != "NO_ERROR"
  463.     goto CheckForISA
  464.     endif
  465.     ifstr(i) $($R1) == {}
  466.     set Error = $(CANNOT_FIND_ANY_CARD)
  467.     set CommonStatus = USER_CANCEL
  468.     set from = "end"
  469.     goto nonfatal
  470.     endif
  471.     set AdapterList = $($R1)
  472.     goto skipoptions
  473.  
  474. CheckForISA = +
  475.  
  476.     Shell $(ParamInf) Param_QueryCard $(!STF_NCDETCARD)
  477.     EndWait
  478.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  479.     Goto adaptersetup
  480.     Endif
  481.     Set DetectedParams = $($R1)
  482.     Shell $(ParamInf) Param_SetDefaults $(DetectedParams)
  483.  
  484.     goto adaptersetup
  485.  
  486. configureadapter = +
  487.     Ifstr $(KeyProduct) == $(KeyNull)
  488.     OpenRegKey $(!REG_H_LOCAL) "" $(!NTN_RegBase) $(MAXIMUM_ALLOWED) KeyProduct
  489.     Ifstr $(KeyProduct) == $(KeyNull)
  490.         set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  491.         goto fatalregistry
  492.     Endif
  493.     Endif
  494.    GetRegValue $(KeyProduct),"ServiceName", AdapterServiceKey
  495.    set AdapterServiceKey = *($(AdapterServiceKey),4)
  496.  
  497.     Shell $(UtilityInf) FindService, $(KeyProduct)
  498.     Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  499.     Goto ShellCodeError
  500.     Endif
  501.     Ifstr(i) $($R0) != NO_ERROR
  502.     Goto fatalregistry
  503.     endif
  504.  
  505.     Set KeyParameters = $($R2)
  506.  
  507.     CloseRegKey $($R1)
  508.  
  509.     Ifstr $(KeyParameters) == $(KeyNull)
  510.     set RegistryErrorIndex = CANNOT_FIND_COMPONENT_SERVICE
  511.     goto fatalregistry
  512.     endif
  513.  
  514.     set OldVersionExisted = $(TRUE)
  515.  
  516.     set ValueName = ""
  517.     set ValueData = ""
  518.     set ValueStr  = ""
  519.     set ValueList = {}
  520.  
  521. adaptersetup = +
  522.  
  523.     Shell "" DebugConfiguration "before displaying dialog"
  524.  
  525.     
  526.     Shell "" DebugConfiguration "After List Translation"
  527.     
  528.     Shell $(ParamInf) Param_ParameterConfidence
  529.     Ifstr(i) $($R0) != STATUS_SUCCESSFUL
  530.     Goto adapteroptions
  531.     Endif
  532.  
  533.     Ifstr(i) $(DetectedCard) == TRUE
  534.     Ifstr(i) $(!STF_INSTALL_MODE) != CUSTOM
  535.         Goto adapterverify
  536.     Endif
  537.     Endif
  538.  
  539. adapteroptions = +
  540.     Set from = adapteroptions
  541.     ;read-syms FileDependentDlg$(!STF_LANGUAGE)
  542.  
  543. adapterverify = +
  544.  
  545.     ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  546.         ; WinNT 4.x
  547.         Goto skipoptions
  548.     endif
  549.  
  550.     Shell "" DebugConfiguration "after running dialog"
  551.  
  552.     Ifstr(i) $(DetectedCard) != TRUE
  553.     Goto skipoptions
  554.     Endif
  555.  
  556.     Shell $(ParamInf) Param_VerifyCard $(!STF_NCDETCARD)
  557.     Ifstr(i) $($R0) == STATUS_SUCCESSFUL
  558.     Goto skipoptions
  559.     Endif
  560.  
  561.     Set from = adapteroptions
  562.     Set to = skipoptions
  563.     Shell $(UtilityInf),RegistryErrorString,VERIFY_WARNING
  564.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  565.     goto ShellCodeError
  566.     endif
  567.     set Error = $($R0)
  568.     Goto Warning
  569.  
  570. skipoptions = +
  571.  
  572.     ifint $(OldVersionExisted) == $(TRUE)
  573.     ifstr(i) $(!NTN_InstallMode) == configure
  574.         goto writeparameters
  575.     endif
  576.     endif
  577.     StartWait
  578.     ifint $(OldVersionExisted) == $(FALSE)
  579.     ifstr(i) $(!NTN_InstallMode) == "install"
  580.        Ifstr(i) $(DoCopy) == "YES"
  581.  
  582.           Shell $(UtilityInf), DoAskSource, $(!STF_CWDDIR), $(SrcDir) YES
  583.  
  584.           Ifint $($ShellCode) != $(!SHELL_CODE_OK)
  585.           Goto ShellCodeError
  586.           Else-Ifstr(i) $($R0) == STATUS_FAILED
  587.           Shell $(UtilityInf) RegistryErrorString "ASK_SOURCE_FAIL"
  588.           ifint $($ShellCode) != $(!SHELL_CODE_OK)
  589.               goto ShellCodeError
  590.           endif
  591.           set Error = $($R0)
  592.           Goto fatal
  593.           Else-Ifstr(i) $($R0) == STATUS_USERCANCEL
  594.           Goto successful
  595.           Endif
  596.  
  597.           Set SrcDir = $($R1)
  598.  
  599.        Endif
  600.  
  601.        install "Install-Option"
  602.        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  603.           Shell $(UtilityInf) RegistryErrorString "UNABLE_COPY_FILE"
  604.           ifint $($ShellCode) != $(!SHELL_CODE_OK)
  605.           goto ShellCodeError
  606.           endif
  607.           set Error = $($R0)
  608.           goto fatal
  609.        endif
  610.     endif
  611.  
  612.     Shell $(UtilityInf), AddSoftwareComponent, $(Manufacturer), +
  613.         $(ProductSoftwareName), +
  614.         $(ProductSoftwareName), +
  615.         $(ProductSoftwareTitle), $(STF_CONTEXTINFNAME), +
  616.         $(ProductSoftwareImagePath), "kernel", "NDIS", {}, "",+
  617.         $(NetEventDLL)
  618.  
  619.     Set OEM_ABANDON_SOFTWARE = TRUE
  620.  
  621.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  622.         goto ShellCodeError
  623.     endif
  624.  
  625.     set RegistryErrorIndex = $($R0)
  626.     set KeyProduct      = $($R1)
  627.     Set SoftNetRulesKey = $($R2)
  628.     CloseRegKey $($R3)
  629.     CloseRegKey $($R4)
  630.     CloseRegKey $($R5)
  631.  
  632.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  633.         EndWait
  634.         CloseRegKey $(KeyProduct)
  635.         CloseRegKey $(SoftNetRulesKey)
  636.         goto fatalregistry
  637.     endif
  638.  
  639.     set NewValueList = {{SoftwareType,$(NoTitle),$(!REG_VT_SZ),$(SoftwareType)},+
  640.                {MajorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMajorVersion)},+
  641.                {MinorVersion,$(NoTitle),$(!REG_VT_DWORD),$(ProductMinorVersion)},+
  642.                {Title,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareTitle)},+
  643.                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareDescription)},+
  644.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$(ProductSoftwareName)},+
  645.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  646.  
  647.     Shell  $(UtilityInf), AddValueList, $(KeyProduct), $(NewValueList)
  648.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  649.         goto ShellCodeError
  650.     endif
  651.  
  652.     set RegistryErrorIndex = $($R0)
  653.  
  654.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  655.         EndWait
  656.         CloseRegKey $(KeyProduct)
  657.         CloseRegKey $(SoftNetRulesKey)
  658.         goto fatalregistry
  659.     endif
  660.  
  661.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareType)},+
  662.                 {use,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareUse)}, +
  663.                 {bindform,$(NoTitle),$(!REG_VT_SZ),$(NetRuleSoftwareBindForm)}, +
  664.                 {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareClass)}, +
  665.                 {bindable,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleSoftwareBindable)}, +
  666.                 {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  667.  
  668.     Shell  $(UtilityInf), AddValueList, $(SoftNetRulesKey), $(NewValueList)
  669.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  670.         goto ShellCodeError
  671.     endif
  672.  
  673.     set RegistryErrorIndex = $($R0)
  674.  
  675.     CloseRegKey $(KeyProduct)
  676.     CloseRegKey $(SoftNetRulesKey)
  677.  
  678.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  679.         EndWait
  680.         goto fatalregistry
  681.     endif
  682.     endif
  683.  
  684. ; Assume a single item in m_AdapterList except for
  685. ; if STF_NCDETECT is NO (Not using auto-detect, installing using the Add button).
  686. set m_AdapterList = {"Item1"}
  687.  
  688. Ifstr(i) $(!NTN_InstallMode) == install
  689.     Ifstr(i) $(!STF_NCDETECT) == YES
  690.         ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  691.             ; WinNT 4.x only
  692.             set Vendor =  32902        ;; 0x8086 is Intel Vendor ID
  693.             set CFID =  4649        ;; 0x1229 is 82557 Device ID
  694.             Shell $(UtilityInf), GetPCIInformation, $(Vendor) $(CFID)
  695.             ifint $($ShellCode) != $(!SHELL_CODE_OK)
  696.                    goto ShellCodeError
  697.             endif
  698.             ifstr(i) $($R0) == {}
  699.                    set Error = $(CANNOT_FIND_ANY_CARD)
  700.                    set CommonStatus = USER_CANCEL
  701.                    set from = end
  702.                    goto nonfatal
  703.             endif
  704.             set m_AdapterList = $($R0)
  705.         endif
  706.     endif
  707. endif
  708.  
  709. ForListDo $(m_AdapterList)
  710.     ; Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" "In For Loop!"
  711.  
  712.     Shell $(UtilityInf), AddHardwareComponent, $(ProductHardwareName),$(STF_CONTEXTINFNAME),$(ProductKeyName)
  713.  
  714.     ifint $($R4) != -1
  715.     Set OEM_ABANDON_OPTIONS = >($(OEM_ABANDON_OPTIONS), $(!NTN_SoftwareBase)"\Microsoft\Windows NT\CurrentVersion\NetworkCards\"$($R4))
  716.     endif
  717.  
  718.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  719.     goto ShellCodeError
  720.     endif
  721.  
  722.     set RegistryErrorIndex = $($R0)
  723.  
  724.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  725.     EndWait
  726.     CloseRegKey $($R1)
  727.     CloseRegKey $($R2)
  728.     CloseRegKey $($R3)
  729.     goto fatalregistry
  730.     endif
  731.  
  732.     set KeyParameters = $($R3)
  733.     set KeyAdapterRules = $($R2)
  734.     set AdapterNumber = $($R4)
  735.  
  736.     set NewValueList = {{Manufacturer,$(NoTitle),$(!REG_VT_SZ),$(Manufacturer)},+
  737.                {Title,$(NoTitle),$(!REG_VT_SZ),"["$($R4)"] "$(ProductHardware$(Option)Title)},+
  738.                {Description,$(NoTitle),$(!REG_VT_SZ),$(ProductHardware$(Option)Description)},+
  739.                {ProductName,$(NoTitle),$(!REG_VT_SZ),$(ProductHardwareName)},+
  740.                {ServiceName,$(NoTitle),$(!REG_VT_SZ),$($R5)},+
  741.                {InstallDate,$(NoTitle),$(!REG_VT_DWORD),*($(Now),1)}}
  742.  
  743.    set AdapterServiceKey = $($R5)
  744.  
  745.     Shell  $(UtilityInf), AddValueList, $($R1), $(NewValueList)
  746.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  747.     goto ShellCodeError
  748.     endif
  749.  
  750.     CloseRegKey $($R1)
  751.  
  752.     set TempProdName = """"$(ProductHardwareName)$(AdapterNumber)""""
  753.     set TempBindForm = $(TempProdName)$(NetRuleHardwareBindForm)
  754.  
  755.     set NewValueList = {{type,$(NoTitle),$(!REG_VT_SZ),$(NetRuleHardwareType)},+
  756.             {bindform,$(NoTitle),$(!REG_VT_SZ),$(TempBindForm)}, +
  757.             {class,$(NoTitle),$(!REG_VT_MULTI_SZ),$(NetRuleHardwareClass)}, +
  758.             {InfOption,$(NoTitle),$(!REG_VT_SZ),$(Option)}}
  759.  
  760.     Shell  $(UtilityInf), AddValueList, $(KeyAdapterRules), $(NewValueList)
  761.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  762.     goto ShellCodeError
  763.     endif
  764.  
  765.     set RegistryErrorIndex = $($R0)
  766.  
  767.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  768.     EndWait
  769.     CloseRegKey $(KeyParameters)
  770.     CloseRegKey $(KeyAdapterRules)
  771.     goto fatalregistry
  772.     endif
  773.  
  774.     CloseRegKey $(KeyAdapterRules)
  775.  
  776.     goto writeparameters
  777. writeparameters = +
  778.     Shell $(UtilityInf), GetBusTypeNum
  779.     set BusTypeNum = $($R1)
  780.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  781.     goto ShellCodeError
  782.     endif
  783.        Set IOAddrValue = *($(IOAddrValues), ~($(IOAddrList),$(IOAddrValue)))
  784.        Shell "" DebugConfiguration "Before Writing Parameters"
  785.        set NewValueList = {{Eid,$(NoTitle),$(!REG_VT_DWORD),0)}}
  786.     
  787.     Shell  $(UtilityInf), AddValueList, $(KeyParameters), $(NewValueList)
  788.  
  789.     CloseRegKey $(KeyParameters)
  790.  
  791.    OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"Adapters $(MAXIMUM_ALLOWED) PROSetAdapterKey
  792.    ifstr $(PROSetAdapterKey) == $(KeyNull)
  793.       CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"Adapters,0,GenericClass} "" +
  794.            $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  795.       ifstr $(PROSetAdapterKey) == $(KeyNull)
  796.      Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegAdapterFailed
  797.      goto fatalregistry
  798.       endif      
  799.    endif
  800.  
  801.    set NewValueList = {{$(PROSetAdapterName),$(NoTitle), $(!REG_VT_SZ), $(Adapter)}}
  802.     Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  803.     CloseRegKey $(PROSetAdapterKey)
  804.     
  805.    OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"$(PROSetAdapterName) $(MAXIMUM_ALLOWED) PROSetAdapterKey
  806.    ifstr $(PROSetAdapterKey) == $(KeyNull)
  807.       CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"$(PROSetAdapterName),0,GenericClass} "" +
  808.            $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  809.       ifstr $(PROSetAdapterKey) == $(KeyNull)
  810.      Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegEPRO10Failed
  811.      goto fatalregistry
  812.       endif
  813.    endif
  814.     set NewValueList = {{Configure,$(NoTitle),$(!REG_VT_SZ),$(Configure)},+
  815.             {Detect,$(NoTitle),$(!REG_VT_SZ),$(Detect)},+
  816.             {Diagnose,$(NoTitle),$(!REG_VT_SZ),$(Diagnose)},+
  817.             {DLL,$(NoTitle),$(!REG_VT_SZ),$(DLL)},+
  818.             {Help,$(NoTitle),$(!REG_VT_SZ),$(Help)},+
  819.             {RegistryKey,$(NoTitle),$(!REG_VT_SZ),$(RegistryKey)},+
  820.             {AdapterDescription,$(NoTitle),$(!REG_VT_SZ),$(AdapterDescription)},+
  821.             {InstallAnyway,$(NoTitle),$(!REG_VT_SZ),$(InstallAnyway)},+
  822.             {DeviceExist,$(NoTitle),$(!REG_VT_SZ),$(DeviceExist)},+
  823.             {Summary,$(NoTitle),$(!REG_VT_SZ),$(Summary)}}
  824.     Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  825.     CloseRegKey $(PROSetAdapterKey)
  826.  
  827.    OpenRegKey $(!REG_H_LOCAL) "" $(PROSetKeyName)"\"$(PROSetAdapterName)"\"$(PROSetParameters) $(MAXIMUM_ALLOWED) PROSetAdapterKey
  828.    ifstr $(PROSetAdapterKey) == $(KeyNull)
  829.       CreateRegKey $(!REG_H_LOCAL) {$(PROSetKeyName)"\"$(PROSetAdapterName)"\"$(PROSetParameters),0,GenericClass} "" +
  830.            $(MAXIMUM_ALLOWED) "" PROSetAdapterKey
  831.       ifstr $(PROSetAdapterKey) == $(KeyNull)
  832.      Shell "Subroutn.Inf" SetupMessage $(!STF_LANGUAGE) "NONFATAL" CreateRegEPRO10Failed
  833.      goto fatalregistry
  834.       endif
  835.    endif
  836.     set NewValueList = { +
  837.             {BusNumber,$(NoTitle),$(!REG_VT_SZ),$(BusNumber)}, +
  838.             {BusType,$(NoTitle),$(!REG_VT_SZ),$(BusType)}, +
  839.             {BusTypeLocal,$(NoTitle),$(!REG_VT_SZ),$(BusTypeLocal)}, +
  840.             {Eid,$(NoTitle),$(!REG_VT_SZ),$(Eid)}, +
  841.             {Fifo,$(NoTitle),$(!REG_VT_SZ),$(Fifo)}, +
  842.             {ForceDpx,$(NoTitle),$(!REG_VT_SZ),$(ForceDpx)}, +
  843.             {MapRegisters,$(NoTitle),$(!REG_VT_SZ),$(MapRegisters)}, +
  844.             {MediaType,$(NoTitle),$(!REG_VT_SZ),$(MediaType)}, +
  845.             {MsPciScan,$(NoTitle),$(!REG_VT_SZ),$(MsPciScan)}, +
  846.             {NumCoalesce,$(NoTitle),$(!REG_VT_SZ),$(NumCoalesce)}, +
  847.             {NumRfd,$(NoTitle),$(!REG_VT_SZ),$(NumRfd)}, +
  848.             {NumTbd,$(NoTitle),$(!REG_VT_SZ),$(NumTbd)}, +
  849.             {NumTbdPerTcb,$(NoTitle),$(!REG_VT_SZ),$(NumTbdPerTcb)}, +
  850.             {NumTcb,$(NoTitle),$(!REG_VT_SZ),$(NumTcb)}, +
  851.             {Off,$(NoTitle),$(!REG_VT_SZ),$(Off)}, +
  852.             {On,$(NoTitle),$(!REG_VT_SZ),$(On)}, +
  853.             {RxDmaCount,$(NoTitle),$(!REG_VT_SZ),$(RxDmaCount)}, +
  854.             {RxFifo,$(NoTitle),$(!REG_VT_SZ),$(RxFifo)}, +
  855.             {Slot,$(NoTitle),$(!REG_VT_SZ),$(Slot)}, +
  856.             {Speed,$(NoTitle),$(!REG_VT_SZ),$(Speed)}, +
  857.             {Threshold,$(NoTitle),$(!REG_VT_SZ),$(Threshold)}, +
  858.             {TxDmaCount,$(NoTitle),$(!REG_VT_SZ),$(TxDmaCount)}, +
  859.             {TxFifo,$(NoTitle),$(!REG_VT_SZ),$(TxFifo)}, +
  860.             {Ucode,$(NoTitle),$(!REG_VT_SZ),$(Ucode)}, +
  861.             {UnderrunRetry,$(NoTitle),$(!REG_VT_SZ),$(UnderrunRetry)}, +
  862.             {PerfOptims,$(NoTitle),$(!REG_VT_SZ),$(PerfOptims)}, +
  863.             {UcodeSW,$(NoTitle),$(!REG_VT_SZ),$(UcodeSW)}, +
  864.             {Adaptive_IFS,$(NoTitle),$(!REG_VT_SZ),$(Adaptive_IFS)}, +
  865.             {Txmitwait,$(NoTitle),$(!REG_VT_SZ),$(Txmitwait)}, +
  866.                }
  867.  
  868.     Shell  $(UtilityInf), AddValueList, $(PROSetAdapterKey), $(NewValueList)
  869.     CloseRegKey $(PROSetAdapterKey)
  870.  
  871.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  872.     goto ShellCodeError
  873.     endif
  874.  
  875.     set RegistryErrorIndex = $($R0)
  876.  
  877.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  878.     goto fatalregistry
  879.     endif
  880.  
  881.     EndWait
  882.  
  883.     ifstr(i) $(!STF_GUI_UNATTENDED) == YES
  884.         RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\PROSET.EXE /BATCH $(AdapterServiceKey)
  885.     else
  886.         RunProgram ExitCode "" "" $(!STF_WINDOWSSYSPATH)\PROSET.EXE $(AdapterServiceKey) 
  887.     endif
  888.  
  889.     Ifstr(i) $(!NTN_InstallMode) != configure
  890.       ifint $(ExitCode) >= 2 
  891.               set CommonStatus = STATUS_USERCANCEL
  892.          goto abandon
  893.       endif
  894.     else
  895.       ifint $(ExitCode) == 0
  896.               set CommonStatus = STATUS_NO_EFFECT
  897.       endif
  898.       ifint $(ExitCode) == 2
  899.          set CommonStatus = STATUS_NO_EFFECT
  900.       endif
  901.     endif
  902.  
  903. ; For auto-detect case, we need this
  904. ; For non-auto detect case, we still need this for the dummy item
  905. ; For all other, we don't need it
  906. Ifstr(i) $(!NTN_InstallMode) == install
  907.     EndForListDo
  908. endif
  909.  
  910.     goto successful
  911.  
  912. bindingadapter =+
  913.     set Error = "Binding: Sorry, not yet implemented."
  914.     goto fatal
  915.  
  916. removeadapter = +
  917.     Ifstr(i) $(ProductKeyName) == $(!NTN_RegBase)
  918.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  919.         $(ProductSoftwareName)
  920.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  921.         goto ShellCodeError
  922.     endif
  923.  
  924.     set RegistryErrorIndex = $($R0)
  925.  
  926.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  927.         goto fatalregistry
  928.     endif
  929.     else
  930.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  931.         $(ProductSoftwareName), $(!NTN_RegBase)
  932.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  933.         goto ShellCodeError
  934.     endif
  935.  
  936.     set RegistryErrorIndex = $($R0)
  937.  
  938.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  939.         goto fatalregistry
  940.     endif
  941.     endif
  942.  
  943.     goto end
  944.  
  945. UpgradeSoftware = +
  946.      OpenRegKey $(!REG_H_LOCAL) "" $(ProductKeyName) $(MAXIMUM_ALLOWED) KeyProduct
  947.      Ifstr $(KeyProduct) != $(KeyNull)
  948.        Shell $(UtilityInf), GetInfFileNameFromRegistry, $(KeyProduct)
  949.        ifint $($ShellCode) != $(!SHELL_CODE_OK)
  950.            Debug-Output "ShellCode error"
  951.            goto ShellCodeError
  952.        endif
  953.        set !UG_Filename = $($R0)
  954.        install "Install-Update"
  955.        ifstr(i) $(STF_INSTALL_OUTCOME) != STF_SUCCESS
  956.            goto fatal
  957.        endif
  958.        SetRegValue $(KeyProduct) {MajorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMajorVersion)}
  959.        SetRegValue $(KeyProduct) {MinorVersion,$(NoTitle),$(!REG_VT_SZ),$(ProductMinorVersion)}
  960.        CloseRegKey $(KeyProduct)
  961.      else
  962.        goto fatalregistry
  963.      endif
  964.  
  965.      goto end
  966.  
  967. successful = +
  968.     goto end
  969.  
  970. abandon = +
  971.     ForListDo $(OEM_ABANDON_OPTIONS)
  972.     Shell $(UtilityInf), RemoveHardwareComponent, $(Manufacturer), +
  973.         $(ProductSoftwareName), $($)
  974.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  975.         goto ShellCodeError
  976.     endif
  977.  
  978.     set RegistryErrorIndex = $($R0)
  979.  
  980.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  981.         goto fatalregistry
  982.     endif
  983.     EndForListDo
  984.  
  985.     Ifstr(i) $(OEM_ABANDON_SOFTWARE) == TRUE
  986.     ; Remove Software Component
  987.     Shell $(UtilityInf), RemoveSoftwareComponent, $(Manufacturer), +
  988.         $(ProductSoftwareName), FALSE
  989.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  990.         goto ShellCodeError
  991.     endif
  992.  
  993.     set RegistryErrorIndex = $($R0)
  994.  
  995.     Ifstr(i) $(RegistryErrorIndex) != NO_ERROR
  996.         goto fatalregistry
  997.     endif
  998.     endif
  999.  
  1000.     goto end
  1001.  
  1002. warning = +
  1003.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "WARNING", $(Error)
  1004.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1005.     goto ShellCodeError
  1006.     endif
  1007.     ifstr(i) $($R1) == "OK"
  1008.     goto $(to)
  1009.     else-ifstr(i) $($R1) == "CANCEL"
  1010.     goto $(from)
  1011.     else
  1012.     goto "end"
  1013.     endif
  1014. nonfatalinfo = +
  1015.     Set Severity = STATUS
  1016.     Set CommonStatus = STATUS_USERCANCEL
  1017.     goto nonfatalmsg
  1018. nonfatal = +
  1019.     Set Severity = NONFATAL
  1020.     goto nonfatalmsg
  1021. nonfatalmsg = +
  1022.     ifstr(i) $(Error) == ""
  1023.     Set Severity = NONFATAL
  1024.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1025.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1026.         goto ShellCodeError
  1027.     endif
  1028.     set Error = $($R0)
  1029.     endif
  1030.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), $(Severity), $(Error)
  1031.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1032.     goto ShellCodeError
  1033.     endif
  1034.     ifstr(i) $($R1) == "OK"
  1035.     goto $(from)
  1036.     else
  1037.     goto "end"
  1038.     endif
  1039.  
  1040. fatalregistry = +
  1041.     Shell $(UtilityInf) RegistryErrorString $(RegistryErrorIndex)
  1042.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1043.     goto ShellCodeError
  1044.     endif
  1045.     set Error = $($R0)
  1046.     goto fatal
  1047. fataldetect = +
  1048.     Shell $(UtilityInf),RegistryErrorString,CANNOT_DETECT
  1049.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1050.     goto ShellCodeError
  1051.     endif
  1052.     set Error = $($R0)
  1053.     Goto fatal
  1054. fatal = +
  1055.     ifstr(i) $(Error) == ""
  1056.     Shell $(UtilityInf) RegistryErrorString "SETUP_FAIL"
  1057.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1058.         goto ShellCodeError
  1059.     endif
  1060.     set Error = $($R0)
  1061.     endif
  1062.     Shell $(subroutineinf) SetupMessage, $(!STF_LANGUAGE), "FATAL", $(Error)
  1063.     ifint $($ShellCode) != $(!SHELL_CODE_OK)
  1064.     goto ShellCodeError
  1065.     endif
  1066.  
  1067.     goto setfailed
  1068.  
  1069. ShellCodeError = +
  1070.     set DlgType      = "MessageBox"
  1071.     set STF_MB_TITLE = "Error: "$(FunctionTitle)
  1072.     set STF_MB_TEXT  = "Shell Code Error"
  1073.     set STF_MB_TYPE  = 1
  1074.     set STF_MB_ICON  = 3
  1075.     set STF_MB_DEF   = 1
  1076.     ui start "Error Message"
  1077.     goto setfailed
  1078.  
  1079. setfailed = +
  1080.     set CommonStatus = STATUS_FAILED
  1081.     ifstr(i) $(OEM_ABANDON_ON) == TRUE
  1082.     set OEM_ABANDON_ON = FALSE
  1083.     goto abandon
  1084.     endif
  1085.     goto end
  1086.  
  1087. end = +
  1088.     goto term
  1089.  
  1090. term = +
  1091.     Return $(CommonStatus)
  1092.  
  1093.  
  1094. [DebugConfiguration]
  1095.  
  1096. ;    Set InfName = "OEMNADIN.INF"
  1097.  
  1098.     return
  1099.  
  1100.  
  1101. [Install-Option]
  1102.     set STF_VITAL = ""
  1103.  
  1104.     ifstr(i) $(AddCopy) == "YES"
  1105.  
  1106.     AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1107.    AddSectionFilesToCopyList Files-PROSet $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1108.    AddSectionFilesToCopyList Files-PROSet-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1109.  
  1110.     endif
  1111.  
  1112.     ifstr(i) $(DoCopy) == "YES"
  1113.  
  1114.        set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1115.        CopyFilesInCopyList
  1116.     else
  1117.        ifcontains(i) $(m_WinNTVersion) not-in {"3.50", "3.51"}
  1118.            ; WinNT 4.x
  1119.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\PROSET.EXE $(!STF_WINDOWSSYSPATH)\PROSET.EXE
  1120.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\EP100DG.DLL $(!STF_WINDOWSSYSPATH)\EP100DG.DLL
  1121.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\PROKDD.DLL $(!STF_WINDOWSSYSPATH)\PROKDD.DLL
  1122.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\MFC30.DLL $(!STF_WINDOWSSYSPATH)\MFC30.DLL
  1123.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\MSVCRT20.DLL $(!STF_WINDOWSSYSPATH)\MSVCRT20.DLL
  1124.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\E100SET.HLP $(!STF_WINDOWSSYSPATH)\E100SET.HLP
  1125.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\557SET.HLP $(!STF_WINDOWSSYSPATH)\557SET.HLP
  1126.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\CTL3D32.DLL $(!STF_WINDOWSSYSPATH)\CTL3D32.DLL
  1127.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\PROPCI.DLL $(!STF_WINDOWSSYSPATH)\PROPCI.DLL
  1128.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\EPRO100.DLL $(!STF_WINDOWSSYSPATH)\EPRO100.DLL
  1129.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\SPDO3DG.SYS $(!STF_WINDOWSSYSPATH)\DRIVERS\SPDO3DG.SYS
  1130.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\EP100DG.SYS $(!STF_WINDOWSSYSPATH)\DRIVERS\EP100DG.SYS
  1131.            LibraryProcedure STATUS,$(!NCPA_HANDLE), CopySingleFile $(!STF_HWND) $(SrcDir)\PROKDD.SYS $(!STF_WINDOWSSYSPATH)\DRIVERS\PROKDD.SYS
  1132.        endif
  1133.     endif
  1134.  
  1135.     Exit
  1136.  
  1137. [Install-Update]
  1138.    set STF_VITAL        = ""
  1139.    set STF_OVERWRITE    = "VERIFYSOURCEOLDER"
  1140.  
  1141.    AddSectionFilesToCopyList Files-$(Option) $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1142.    AddSectionFilesToCopyList Files-Inf $(SrcDir) $(!STF_WINDOWSSYSPATH)
  1143.    AddSectionFilesToCopyList Files-PROSet $(SrcDir)  $(!STF_WINDOWSSYSPATH)
  1144.    AddSectionFilesToCopyList Files-PROSet-Drivers $(SrcDir) $(!STF_WINDOWSSYSPATH)\drivers
  1145.  
  1146.    set !STF_NCPA_FLUSH_COPYLIST = TRUE
  1147.    CopyFilesInCopyList
  1148.  
  1149.    exit
  1150.